function gp = gp_function( h, layer )
% GP_FUNCTION
%   Esta funcion calcula el valor de la derivada de g
%
%   Input:
%       h: Valor de h
%       layer: Numero de capa del h que se esta enviando
%
%   Output:
%       gp: Valor devuelto por la derivada de la funcion de activacion 
%       correspondiente
    global G;
    global BETA;
    global LAYERS;
    
    % En caso de que sea la ultima capa utilizo una funcion de activacion
    % tanh
    if layer == length(LAYERS);
        g = tanh(BETA*h);
        gp = BETA*(1-g.*g);
        return;
    end

    if G == 1
        g = tanh(BETA*h);
        gp = BETA*(1-g.*g);
    elseif G == 2
        g = 1./(1 + exp(-2*BETA*h));
        gp = 2*BETA*g.*(1-g);
    end
end

